]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
screenShield: Do not take an inhibitor when disabled by lockdown
authorFlorian Müllner <fmuellner@gnome.org>
Fri, 17 Mar 2017 14:48:22 +0000 (15:48 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Mon, 20 Mar 2017 18:02:08 +0000 (19:02 +0100)
Just as with the normal lock screen settings, we shouldn't request
a logind inhibitor when locking is disabled via lockdown settings.

https://bugzilla.gnome.org/show_bug.cgi?id=780212

js/ui/screenShield.js

index fd21fdeeeb5fcbd86da0c12c47630ccaba20168b..fd4f28c51d63a499f80217047256cd611e5ee7d4 100644 (file)
@@ -545,6 +545,7 @@ const ScreenShield = new Lang.Class({
         this._settings.connect('changed::' + LOCK_ENABLED_KEY, Lang.bind(this, this._syncInhibitor));
 
         this._lockSettings = new Gio.Settings({ schema_id: LOCKDOWN_SCHEMA });
+        this._lockSettings.connect('changed::' + DISABLE_LOCK_KEY, Lang.bind(this, this._syncInhibitor));
 
         this._isModal = false;
         this._hasLockScreen = false;
@@ -706,8 +707,10 @@ const ScreenShield = new Lang.Class({
     },
 
     _syncInhibitor: function() {
+        let lockEnabled = this._settings.get_boolean(LOCK_ENABLED_KEY);
+        let lockLocked = this._lockSettings.get_boolean(DISABLE_LOCK_KEY);
         let inhibit = (this._loginSession && this._loginSession.Active &&
-                       !this._isActive && this._settings.get_boolean(LOCK_ENABLED_KEY));
+                       !this._isActive && lockEnabled && !lockLocked);
         if (inhibit) {
             this._loginManager.inhibit(_("GNOME needs to lock the screen"),
                                        Lang.bind(this, function(inhibitor) {